package com.zyc.decorateMode.example;

/**
 * @author zyc
 * @create 2022--06--15 16:46
 */
class ConcreteDecoratorA extends Decorator {
    // A 装饰器特有属性，为了与 B 装饰器区分
    private String addedState;

    @Override
    public void operation() {
        super.operation();
        addedState = "NEW State";
        System.out.println("具体装饰器 A 的操作");
    }
}

class ConcreteDecoratorB extends Decorator {

    /**
     * B 装饰器特有方法，区分于 A 装饰器
     */
    public void addedBehavior() {

    }

    @Override
    public void operation() {
        super.operation();
        addedBehavior();
        System.out.println("具体装饰器 B 的操作");
    }
}


